A predictive controller, such as model predictive control (MPC), is used in many applications to control complex dynamical systems that are described by a set of nonlinear differential equations, i.e., a system of ordinary differential equations (ODE) or differential-algebraic equations (DAE). Examples of such systems include production lines, vehicles, satellites, engines, robots, power generators and other numerically controlled machines.
Direct optimal control methods rely on the discretization of the continuous-time differential equations, based on a discretization of the control horizon and a corresponding parameterization of the control action over the prediction horizon. The resulting nonlinear optimization problem or nonlinear program (NLP) can be solved by any nonlinear optimization solver. However, in the case of real-time applications of predictive control for nonlinear systems, this nonlinear optimization problem needs to be solved under strict timing constraints.
Predictive control for a system described by nonlinear differential equations, requires the solution of a nonlinear optimal control problem at each control step. Instead of solving each problem exactly, one real-time iteration of a sequential quadratic programming (SQP) method can be performed in order to update a solution guess from one time point to the next. Such a Newton-type SQP method requires a linearization of the discretized nonlinear dynamics at each iteration of the method. This linearization can be costly and requires a Jacobian evaluation when using an explicit integration method and it can additionally require matrix factorizations, matrix-matrix multiplications and/or an iterative procedure to solve a nonlinear system of equations in case of an implicit integration method.
Accordingly, there is a need to reduce the computational cost of SQP solvers in real-time predictive control applications for nonlinear dynamical systems.